(function() {
    console.log('插件已经加载');

    // 保存原始的 WebSocket 构造函数和方法
    const OriginalWebSocket = window.WebSocket;
    const originalSend = OriginalWebSocket.prototype.send;

    // 重写 WebSocket 构造函数
    window.WebSocket = function(...args) {
        const wsInstance = new OriginalWebSocket(...args);

        // 监听 'message' 事件
        wsInstance.addEventListener('message', (event) => {
            console.log('拦截到接收到的 WebSocket 消息:', event.data);
        });

        // 监听 'send' 方法
        const originalSend = wsInstance.send;
        wsInstance.send = function(data) {
            console.log('拦截到发送的 WebSocket 数据:', data);
            return originalSend.call(this, data); // 确保上下文正确
        };

        return wsInstance;
    };

    // 确保新 WebSocket 拥有原始的属性和方法
    window.WebSocket.prototype = OriginalWebSocket.prototype;

})();
